package _模拟;

import java.util.HashMap;
import java.util.Scanner;

/**
 * @author ShadowLim
 * @create 2022-03-19-19:04
 */
public class _有理数的循环节 {

    /**
     * 270ms
     *
     * @param args
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        String[] str = s.split(",");
        double m = Integer.valueOf(str[0]);    // 分子 (一定是double 不能是int 否则影响下面的①)
        double n = Integer.valueOf(str[1]);    // 分母 (一定是double 不能是int 否则影响下面的①)

        // 扩大分子 运算余数不为0 则不能被除尽
        // 每个整数范围为：0~1000   所以直接将分子乘1000
        if (m * 1000 % n != 0) {
            int a = (int) ((int) m / n);    // 相除的整数部分   ①
            double remain = m - (a * n);    // m / n 的余数部分
            int i = 0, flag = 0;
            int[] xiaoshu = new int[80];    // 存储小数部分的结果
            int[] fenzi = new int[80];      // 存储小数部分所对应的分子大小（即余数remain的值）

            while (true) {
                xiaoshu[i] = (int) (remain * 10 / n);    // 「两数相除」余数不够除以「除数」则补0 即扩大10倍 再进行相除
                fenzi[i] = (int) remain;
                remain = remain * 10 % n;               // 继续补0 进行相除

                // 查看remain是否与历史数值相同 若是（flag == 1） 代表找到了循环节 退出计算
                for (int k = 0; k <= i; k++) {
                    if (remain == fenzi[k]) {
                        flag++;
                    }
                }
                if (flag == 1) {
                    break;
                }
                i++;
            }
            System.out.print(a + "." + "[");
            for (int j = 0; j <= i; j++) {
                System.out.print(xiaoshu[j]);
            }
            System.out.print("]");
        } else {
            System.out.println(m / n);
        }
    }

    /**
     *  380ms
     * @param args
     */
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        String input = scanner.nextLine();
//        String[] inputs = input.split(",");
//        //保存整数部分
//        String zhengShu = String.valueOf(Integer.parseInt(inputs[0]) / Integer.parseInt(inputs[1]));
//        //保存小数部分
//        StringBuffer xiaoShu = new StringBuffer();
//        HashMap<Integer, Integer> mapOfNumber = new HashMap<>();
//        //小数，索引
//        int a = Integer.parseInt(inputs[0]), b = Integer.parseInt(inputs[1]);
//        int mod = a % b;
//        int index = 0;
//        while (mod != 0){
//            mod *= 10;
//            int n = mod / b;
//            if (!mapOfNumber.containsKey(mod)){
//                mapOfNumber.put(mod , index);
//                xiaoShu.append(n);
//                index++;
//                mod = mod % b;
//            }else {
//                xiaoShu.insert(mapOfNumber.get(mod), "[");
//                xiaoShu.append("]");
//                break;
//            }
//
//        }
//        System.out.println(zhengShu + "." +xiaoShu);
//
//    }
}
